﻿<UserControl x:Class="Framework.UI.TestHarness.Views.ExpandersView"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             xmlns:params="http://schemas.codeplex.com/elysium/params"
             xmlns:extra="http://schemas.extra.com/ui"
             mc:Ignorable="d" 
             d:DesignHeight="768" d:DesignWidth="1024">
    <Grid>
        <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="*"/>
    </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="*"/>
    </Grid.RowDefinitions>
    
        <TextBlock Grid.ColumnSpan="2" 
                   Margin="{Binding RelativeSource={RelativeSource Self}, Path=(params:General.BoldPadding), Mode=OneWay}"
                   Style="{StaticResource HeaderTextStyle}" 
                   Text="HeaderedContentControl"/>
    
        <HeaderedContentControl Grid.Row="1" 
                                Content="Content" 
                                Header="Header"
                                Margin="{Binding Converter={StaticResource DoubleToThicknessConverter}, ConverterParameter='Left, Top, Right', RelativeSource={RelativeSource Self}, Path=(params:General.BoldPaddingValue), Mode=OneWay}"/>
    
        <TextBlock Grid.ColumnSpan="2" 
                   Grid.Row="2" 
                   Margin="{Binding RelativeSource={RelativeSource Self}, Path=(params:General.BoldPadding), Mode=OneWay}"
                   Style="{StaticResource HeaderTextStyle}" 
                   Text="Expander"/>
    
        <Label Grid.Row="3" 
               Content="Expand Direction"
               HorizontalAlignment="Right"
               Margin="{Binding Converter={StaticResource DoubleToThicknessConverter}, ConverterParameter='Left, Top', RelativeSource={RelativeSource Self}, Path=(params:General.BoldPaddingValue), Mode=OneWay}"
               Target="{Binding ElementName=ExpandDirectionComboBox}"/>
        <ComboBox x:Name="ExpandDirectionComboBox" 
                  Grid.Column="1"
                  Grid.Row="3" 
                  Margin="{Binding Converter={StaticResource DoubleToThicknessConverter}, ConverterParameter='Left, Top, Right', RelativeSource={RelativeSource Self}, Path=(params:General.BoldPaddingValue), Mode=OneWay}"
                  SelectedIndex="0">
            <ExpandDirection>Down</ExpandDirection>
            <ExpandDirection>Left</ExpandDirection>
            <ExpandDirection>Right</ExpandDirection>
            <ExpandDirection>Up</ExpandDirection>
        </ComboBox>
    
        <Expander Grid.ColumnSpan="2" 
                  Grid.Row="4" 
                  ExpandDirection="{Binding ElementName=ExpandDirectionComboBox, Path=SelectedItem}"
                  Margin="{Binding Converter={StaticResource DoubleToThicknessConverter}, ConverterParameter='Left, Top, Right', RelativeSource={RelativeSource Self}, Path=(params:General.BoldPaddingValue), Mode=OneWay}">
            <Expander.Header>
                <TextBlock Text="Header"/>
            </Expander.Header>
            <TextBlock Style="{StaticResource NormalTextStyle}" 
                       Text="Content"/>
        </Expander>
    
        <Expander Grid.ColumnSpan="2" 
                  Grid.Row="5"
                  ExpandDirection="{Binding ElementName=ExpandDirectionComboBox, Path=SelectedItem}"
                  Margin="{Binding Converter={StaticResource DoubleToThicknessConverter}, ConverterParameter='Left, Top, Right', RelativeSource={RelativeSource Self}, Path=(params:General.BoldPaddingValue), Mode=OneWay}"
                  Style="{StaticResource TransparentExpanderStyle}">
            <Expander.Header>
                <TextBlock Text="Header (Transparent)"/>
            </Expander.Header>
            <TextBlock Style="{StaticResource NormalTextStyle}" 
                       Text="Content"/>
        </Expander>
    
        <Expander Grid.ColumnSpan="2" 
                  Grid.Row="6"
                  ExpandDirection="{Binding ElementName=ExpandDirectionComboBox, Path=SelectedItem}"
                  Margin="{Binding Converter={StaticResource DoubleToThicknessConverter}, ConverterParameter='Left, Top, Right', RelativeSource={RelativeSource Self}, Path=(params:General.BoldPaddingValue), Mode=OneWay}"
                  Style="{StaticResource NonAnimatedExpanderStyle}">
            <Expander.Header>
                <TextBlock Text="Header (No Animation)"/>
            </Expander.Header>
            <TextBlock Style="{StaticResource NormalTextStyle}" 
                       Text="Content"/>
        </Expander>
    
        <TextBlock Grid.ColumnSpan="2" 
                   Grid.Row="7"
                   Margin="{Binding RelativeSource={RelativeSource Self}, Path=(params:General.BoldPadding), Mode=OneWay}"
                   Style="{StaticResource HeaderTextStyle}" 
                   Text="Accordian"/>
    
        <Label Grid.Row="8" 
               Content="Expand Direction"
               HorizontalAlignment="Right"
               Margin="{Binding Converter={StaticResource DoubleToThicknessConverter}, ConverterParameter='Left, Top', RelativeSource={RelativeSource Self}, Path=(params:General.BoldPaddingValue), Mode=OneWay}"
               Target="{Binding ElementName=ExpandDirectionComboBox}"/>
        <ComboBox x:Name="AccordionExpandDirectionComboBox" 
                  Grid.Column="1"
                  Grid.Row="8" 
                  Margin="{Binding Converter={StaticResource DoubleToThicknessConverter}, ConverterParameter='Left, Top, Right', RelativeSource={RelativeSource Self}, Path=(params:General.BoldPaddingValue), Mode=OneWay}"
                  SelectedIndex="0">
            <ExpandDirection>Down</ExpandDirection>
            <ExpandDirection>Left</ExpandDirection>
            <ExpandDirection>Right</ExpandDirection>
            <ExpandDirection>Up</ExpandDirection>
        </ComboBox>
    
        <Label Grid.Row="9" 
               Content="Selection Mode"
               HorizontalAlignment="Right"
               Margin="{Binding Converter={StaticResource DoubleToThicknessConverter}, ConverterParameter='Left, Top', RelativeSource={RelativeSource Self}, Path=(params:General.BoldPaddingValue), Mode=OneWay}"
               Target="{Binding ElementName=ExpandDirectionComboBox}"/>
        <ComboBox x:Name="AccordionSelectionModeComboBox" 
                  Grid.Column="1"
                  Grid.Row="9" 
                  Margin="{Binding Converter={StaticResource DoubleToThicknessConverter}, ConverterParameter='Left, Top, Right', RelativeSource={RelativeSource Self}, Path=(params:General.BoldPaddingValue), Mode=OneWay}"
                  SelectedIndex="0">
            <extra:AccordionSelectionMode>One</extra:AccordionSelectionMode>
            <extra:AccordionSelectionMode>OneOrMore</extra:AccordionSelectionMode>
            <extra:AccordionSelectionMode>ZeroOrOne</extra:AccordionSelectionMode>
            <extra:AccordionSelectionMode>ZeroOrMore</extra:AccordionSelectionMode>
        </ComboBox>
    
        <Label Grid.Row="10" 
               Content="Selection Sequence"
               HorizontalAlignment="Right"
               Margin="{Binding Converter={StaticResource DoubleToThicknessConverter}, ConverterParameter='Left, Top', RelativeSource={RelativeSource Self}, Path=(params:General.BoldPaddingValue), Mode=OneWay}"
               Target="{Binding ElementName=ExpandDirectionComboBox}"/>
        <ComboBox x:Name="AccordionSelectionSequenceComboBox" 
                  Grid.Column="1"
                  Grid.Row="10" 
                  Margin="{Binding Converter={StaticResource DoubleToThicknessConverter}, ConverterParameter='Left, Top, Right', RelativeSource={RelativeSource Self}, Path=(params:General.BoldPaddingValue), Mode=OneWay}"
                  SelectedIndex="0">
            <extra:SelectionSequence>Simultaneous</extra:SelectionSequence>
            <extra:SelectionSequence>CollapseBeforeExpand</extra:SelectionSequence>
        </ComboBox>
    
        <extra:Accordion x:Name="Accordion" 
                       Grid.ColumnSpan="2"
                       Grid.Row="11"
                       ExpandDirection="{Binding ElementName=AccordionExpandDirectionComboBox, Path=SelectedItem}"
                       Margin="{Binding RelativeSource={RelativeSource Self}, Path=(params:General.BoldPadding), Mode=OneWay}"
                       SelectionMode="{Binding ElementName=AccordionSelectionModeComboBox, Path=SelectedItem}"
                       SelectionSequence="{Binding ElementName=AccordionSelectionSequenceComboBox, Path=SelectedItem}">
            <extra:AccordionItem>
                <extra:AccordionItem.Header>
                    <TextBlock Text="Header 1"/>
                </extra:AccordionItem.Header>
                <TextBlock Style="{StaticResource NormalTextStyle}" 
                           Text="Content 1"/>
            </extra:AccordionItem>
            <extra:AccordionItem>
                <extra:AccordionItem.Header>
                    <TextBlock Text="Header 2"/>
                </extra:AccordionItem.Header>
                <TextBlock Style="{StaticResource NormalTextStyle}" 
                           Text="Content 2"/>
            </extra:AccordionItem>
            <extra:AccordionItem>
                <extra:AccordionItem.Header>
                    <TextBlock Text="Header 3"/>
                </extra:AccordionItem.Header>
                <TextBlock Style="{StaticResource NormalTextStyle}" 
                           Text="Content 3"/>
            </extra:AccordionItem>
        </extra:Accordion>
    
    </Grid>
</UserControl>
